Product Lifecycle Management (PLM) solutions refer to a business strategy that helps companies to share product data, apply common processes, and leverage corporate knowledge for the development of products from conception to the end of their life, across the concept of extended enterprise. By including the actors (company departments, business partners, suppliers, Original Equipment Manufacturers (OEM), and customers), PLM may allow this network to operate as a single entity to conceptualize, design, build, and support products and processes.
Amongst the PLM solutions are the computer-aided techniques, which are known to include Computer-Aided Design (CAD). Computer-Aided Design relates to software solutions for authoring product design. Similarly, CAE is an acronym for Computer-Aided Engineering, e.g. it relates to software solutions for simulating the physical behavior of a future product. CAM stands for Computer-Aided Manufacturing and typically includes software solutions for defining manufacturing processes and operations. Some PLM solutions make it possible, for instance, to design and develop products by creating digital mockups (a 3D graphical model of a product). The digital product may first be defined and simulated using an appropriate application. Then, the lean digital manufacturing processes may be defined and modeled.
A number of systems and programs are offered on the market for the design of objects (or parts) or assemblies of objects, forming a product, such as the one provided by Dassault Systemes under the trademark CATIA. These CAD systems allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. Lines or edges may be represented in various manners, e.g. non-uniform rational B-splines (NURBS). These CAD systems manage parts or assemblies of parts as modeled objects, which are mostly specifications of geometry. Specifically, CAD files contain specifications, from which geometry is generated, which in turn allow for a representation to be generated. Geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system being in the range of one Megabyte per part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files. The graphical user interface (GUI) plays an important role as regards the efficiency of the technique.
More generally, the PLM solutions provided by Dassault Systemes (under the trademarks CATIA, ENOVIA and DELMIA) provides an Engineering Hub, which organizes product engineering knowledge, a Manufacturing Hub, which manages manufacturing engineering knowledge, and an Enterprise Hub which enables enterprise integrations and connections into both the Engineering and Manufacturing Hubs. All together the system delivers an open object model linking products, processes, resources to enable dynamic, knowledge-based product creation and decision support that drives optimized product definition, manufacturing preparation, production and service.
Such PLM solutions comprise a relational database of products. The database comprises a set of textual data and relations between the data. Data typically include technical data related to the products, said data being ordered in a hierarchy of data and are being indexed to be searchable. The data are representative of the modeled objects, which are often modeled products and processes.
PLM information, including product configuration, process knowledge and resources information, are typically intended to be edited in a collaborative way.
Amongst other features, modeling in CAD applications often requires defining not only the geometric objects, but also the functional dependences between the said objects. This is achieved, for instance, with the help of constraints. A constraint (e.g. a geometric constraint) is a relation among geometric objects that should be satisfied. For example, one may require that a first object is located at a given distance (offset) from a second object.
More generally, other types of relations may occur, such as specifications. For example, specifications may relate to interference specifications, which encompass clash, contact and clearance specifications. Other types of specifications are possible as well.
In the PLM world, data update is a constant problem, specifically as the set of objects to update are interrelated. By update, it is here meant updating object data with respect to object specifications. In some case, the amount of data that come into play is so important that it might be impossible to load all data in memory to update them. Moreover, updating data is still complicated when users work in a collaborative way.
There is accordingly a need to provide a tool to update PLM objects. Some tools already exist in the market. Usually, the update is an algorithm that, starting from a set of specifications and from a state that is not consistent with the specifications (or ‘out of date’), produces a result consistent with these specifications (‘up to date’).
Basically, owing to the number of parts/products involved (see the discussion above as to CAD), a problem is that the PLM update of the known solutions very often fails in practice. Thus, there is a need for an improved and robust process, allowing for updating object data with respect to object specifications in a product life cycle management system. Ideally, what is needed is an update solution “that does not fail”.